package cn.kone.blog.domain;

import cn.kone.user.domain.User;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.Date;

/**
 * 文章信息表
 *
 * @TableName tb_article
 */
@Data
@Document("t_article")
public class Article{
    //mongodb的主键id
    @Id
    private String _id;

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    private Long id;
    /**
     * 文章封面
     */
    @ApiModelProperty("文章封面")
    private String articlePic;
    /**
     * 文章名称
     */
    @ApiModelProperty("文章名称")
    private String articleName;
    /**
     * 文章标签
     */
    @ApiModelProperty("文章标签")
    private String articleTag;
    /**
     * 文章类型
     */
    @ApiModelProperty("文章类型")
    private Long articleType;
    /**
     * 文章状态(0:草稿;1:发布;2:弃用)
     */
    @ApiModelProperty("文章状态(0:草稿;1:发布;2:弃用)")
    private Integer articleState;
    /**
     * 是否置顶(0:不置顶;1:置顶)
     */
    @ApiModelProperty("是否置顶(0:不置顶;1:置顶)")
    private Integer topState;
    /**
     * 作者ID
     */
    @ApiModelProperty("作者ID")
    private Long publishId;
    /**
     * 发布时间
     */
    @ApiModelProperty("发布时间")
    private Date createTime = new Date();
    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private Date updateTime = new Date();
    /**
     * 文章阅读量
     */
    @ApiModelProperty("文章阅读量")
    private Integer articleReadCount;
    /**
     * 文章点赞数
     */
    @ApiModelProperty("文章点赞数")
    private Integer articleStarNum;
    /**
     * 文章评论数
     */
    @ApiModelProperty("文章评论数")
    private Integer articleCommentNum;
    /**
     * 文章简介
     */
    @ApiModelProperty("文章简介")
    private String articleRemark;
    /**
     * 文章内容
     */
    @ApiModelProperty("文章内容")
    private String articleContent;

    @ApiModelProperty("文章类型名称")
    private ArticleType type;

    @ApiModelProperty("文章发布者")
    private User user;

    //文章年份
    @ApiModelProperty("文章年份")
    private String year;

    //文章月份
    @ApiModelProperty("文章月份")
    private String month;

    //文章日期
    @ApiModelProperty("文章日期")
    private String day;

}
